<?php
class Configs extends Controller
{
	public function _default()
	{
		$configs = ConfigModel::getList();
		$this->assign('configs', $configs);
		$this->display('config.tpl');
	}
	
	public function update()
	{
		$name = isset($_POST['name']) && $_POST['name'] ? $_POST['name'] : Util::msgRedirect('没有指定要更新的记录');
		$value = isset($_POST['value']) ? $_POST['value'] : '';
		$type = isset($_POST['type']) ? $_POST['type'] : '';
		
		if ($name){
			foreach ($name as $key=>$val){
				$data = array(
					'value'	=> $value[$key],
					'type'	=> $type[$key]
				);
				ConfigModel::update($val, $data);
			}
		}
		Util::msgRedirect('更新成功', '/Admin/Configs');
	}
	
	public function del()
	{
		$id = isset($_GET['id']) ? intval($_GET['id']) : Util::msgRedirect('请指定要删除的记录');
		if (ConfigModel::delete($id)){
			Util::msgRedirect('已删除', '/admin/configs');
		}else{
			Util::msgRedirect('删除失败');
		}
	}
	
	public function add()
	{
		$name = isset($_POST['name']) && $_POST['name'] ? trim($_POST['name']) : Util::msgRedirect('缺少参数名');
		$label = isset($_POST['label']) && $_POST['label'] ? $_POST['label'] : Util::msgRedirect('缺少标签');
		$value = isset($_POST['value']) ? $_POST['value'] : '';
		$type = isset($_POST['type']) ? $_POST['type'] : 'text';
		if (!preg_match('/^\w+$/', $name)){
			Util::msgRedirect('参数名只能是只能是英文、数字和下划线');
		}
		if (ConfigModel::get('', $name)){
			Util::msgRedirect('参数名不能重复');
		}
		if (ConfigModel::add($name, $label, $value, $type)){
			Util::msgRedirect('添加成功','/admin/configs');
		}else{
			Util::msgRedirect('添加失败');
		}
	}
}